

import React, { useState, useRef } from 'react'
// https://www.cnblogs.com/samve/p/12347658.html
// ts 在js基础上进行的类型定义  属于严格模式
// 类型定义文件  

// string
// number
// boolean
// null
// undefined
// enum
// symbol
// class Person{
//     constructor(
//         public id:number,
//         public name:string,
//         public age:string,
//         private salary:number 
//     ){

//     }
// }

export default function Demo() {
    // const a:string = "wh211o-daydayup"
    // const b:number = 1200;
    // interface Istate1 {
    //     name: string;
    //     age: number;
    //     sex:string;
    // }

    // const obj1:Istate1 = {
    //     name:"LALa",
    //     age:38,
    //     sex:"女性"
    // }

    // interface Istate2 {
    //     name: string;
    //     age?: number
    // } 

    // const obj2:Istate2 = {
    //     name:"zuozuomu",
    //     age:18
    // }
    // // 属性个数不确定的时候， any必须是任意类型
    // interface Istate3 {
    //     name: string|number;
    //     age?: number;
    //     [propName: string]: any;
    // }

    // const obj33: Istate3 = {
    //     name: 'Jay',
    //     age: 20,
    //     sex: "men",
    //     isMary: false
    // }   

    // // 1) 可采用"类型[]"法表示；
    // // 2) 可采用数组泛型“Array<类型>”表示法；
    // // 3) 可采用接口表示法。
    // // 4) class 定义 类 

    // const list:string[] = ["a","b",'3']
    // const list1:Array<number> = [1,23,4,4,4,5]
    // const list2:Istate2[] = [{
    //     name:"z1",
    // }]
    // const list3:Array<Person> = [
    //     new Person(1,'z','19',10000)
    // ]

    // const list4:Person[]= [
    //     new Person(1,'z','19',10000),
    //     new Person(1,'z','19',10000),
    // ]

    // const todoSome = (id:any, title:string,obj:Person):boolean =>{
    //     return false;
    // }

    // function gotoWhere(router:string):void{

    // }

    // const [count,setCount] = useState(1000)


    return (
        <div>
            <h2>学习 typescript 语法 </h2>
            {/* <h2> {a}  - {b} </h2> */}
            {/* <h2>count === {count}</h2> */}
        </div>
    )
}
